package org.tea.inventory.dao.tea;

import org.tea.inventory.domain.tea.WarehouseInventorySerialInfo;

import java.util.List;

/**
 * 库存流水对应信息Mapper接口
 * 
 * @author dongxb
 * @date 2025-04-16
 */
public interface WarehouseInventorySerialInfoMapper 
{
    /**
     * 查询库存流水对应信息
     * 
     * @param id 库存流水对应信息主键
     * @return 库存流水对应信息
     */
    public WarehouseInventorySerialInfo selectWarehouseInventorySerialInfoById(Long id);

    /**
     * 查询库存流水对应信息列表
     *
     * @param warehouseInventorySerialInfo 库存流水对应信息
     * @return 库存流水对应信息集合
     */
    public List<WarehouseInventorySerialInfo> selectWarehouseInventorySerialInfoList(WarehouseInventorySerialInfo warehouseInventorySerialInfo);

    /**
     * 查询库存流水对应信息列表
     *
     * @param serialId 库存流水id
     * @param warehouseId 库存流水仓库
     * @param updateType 库存流水跟新类型
     * @return 库存流水对应信息集合
     */
    List<WarehouseInventorySerialInfo> selectInfoList(Long serialId, Long warehouseId, String updateType);

    /**
     * 新增库存流水对应信息
     * 
     * @param warehouseInventorySerialInfo 库存流水对应信息
     * @return 结果
     */
    public int insertWarehouseInventorySerialInfo(WarehouseInventorySerialInfo warehouseInventorySerialInfo);

    /**
     * 修改库存流水对应信息
     * 
     * @param warehouseInventorySerialInfo 库存流水对应信息
     * @return 结果
     */
    public int updateWarehouseInventorySerialInfo(WarehouseInventorySerialInfo warehouseInventorySerialInfo);

    /**
     * 删除库存流水对应信息
     * 
     * @param id 库存流水对应信息主键
     * @return 结果
     */
    public int deleteWarehouseInventorySerialInfoById(Long id);

    /**
     * 批量删除库存流水对应信息
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWarehouseInventorySerialInfoByIds(Long[] ids);

    /**
     * 删除库存流水对应信息
     *
     * @param serialId 库存流水对应信息主键
     * @return 结果
     */
    public int  deleteBySerialId(Long serialId);
}
